package sun.superstring.loop;

public class ForTest2 {
    public static void main(String[] args) {
        // 目标：完成for循环求和的案例
        System.out.println("sum = " + sum(100));
        test1();
        System.out.println("===================");
        System.out.println("所有的三位数水仙花数：");
        sum2();
    }
    public static int sum(int n) {
        // 1.初始化一个变量，来存储累加和，初始值设为0
        int sum = 0;
        // 2.循环结构：循环n次，每次累加i的值，i从1开始，每次加1
        for (int i = 1; i <= n; i++) {
            // i = 1,,2,3,4,5,6,7,8,9,10……
            // 3.累加操作：每次循环中，将当前数字加到累加变量上
            sum += i;
        }
        // 4.返回结果：循环结束后，返回累加变量的值
        return sum;
    }

    // 求1-10之间的奇数和，并把求和结果在控制台输出
    public static void test1() {
        int sum = 0;
        for (int i = 1; i <= 10; i += 2) {
            sum += i;
        }
        System.out.println("1-10之间的奇数和为： " + sum);
    }
    // 求水仙花数
    // 要求：水仙花数是一个三位数，且各个位数上数字的立方之和等于该数本身
    public static void sum2(){
        for(int i = 100; i < 1000; i++){
            int ge = i % 10;
            int shi = i / 10 % 10;  // int shi = i % 100 / 10;
            int bai = i / 100;
            if(ge * ge * ge + shi * shi * shi + bai * bai * bai == i){
                System.out.println(i);
            }
        }
    }
}
